
/**
 * 一、events模块的基本使用
 */
// 1. 导入events模块
const events = require("events");

// 2. 创建EventEmitter实例
// const emitter = new events.EventEmitter();
const emitter = new events();

// 3. 定义事件处理函数
const eventHandler = () => {
  console.log("事件被触发，处理函数执行");
};
// 3. 定义事件（可接收参数）处理函数
const eventHandlerWithParams = (...args) => {
  console.log("带参数的事件处理函数:", ...args);
};

// 4. 注册
emitter.on("eventName", eventHandler);
emitter.on("eventNameWithParams", eventHandlerWithParams);

// 5. 触发事件
emitter.emit("eventName");
emitter.emit("eventNameWithParams", "参数1", "参数2");

console.log('已注册的事件:', emitter.eventNames());

// 6. 移除事件监听器
emitter.off("eventName", eventHandler);
emitter.off("eventNameWithParams", eventHandlerWithParams);

console.log('已注册的事件:', emitter.eventNames());
